Preserving Separation of Concerns through Compilation A Position Paper
نویسندگان
چکیده
Today’s aspect-oriented programming (AOP) languages provide software engineers with new possibilities for keeping conceptual concerns separate at the source code level. For a number of reasons, current aspect weavers sacrifice this separation in transforming source to object code (and thus the very term weaving). In this paper, we argue that sacrificing modularity has significant costs, especially in terms of the speed of incremental compilation and in testing. We argue that design modularity can be preserved through the mapping to object code, and that preserving it can have significant benefits in these dimensions. We present and evaluate a mechanism for preserving design modularity in object code, showing that doing so has potentially significant benefits.
منابع مشابه
Preserving Separation of Concerns Through Compilation
Current aspect-oriented (AO) compilation techniques fail to preserve the separation of concerns for postcompilation phases. At the minimum, it makes efficient incremental compilation and unit testing of AO programs challenging. The contribution of this work is an improved approach for aspect-oriented compilation. Our approach rests on a new interface between the AO high-level language (HLL) com...
متن کاملSeparation and Composition of Overlapping and Interacting Concerns
This position paper presents some of the problems we had and the results we achieved in the last 4 years of work when defining and developing DASCo [24]. DASCo (Development of Distributed Applications with Separation of Concerns) is an approach for developing objectoriented concurrent and distributed programs using a separation of concerns strategy. In this position paper we emphasize separatio...
متن کاملAn Efficient and Flexible Implementation of Aspect-Oriented Languages
Compilers for modern object-oriented programming languages generate code in a platform independent intermediate language [LY99, CLI06] preserving the concepts of the source language; for example, classes, fields, methods, and virtual or static dispatch can be directly identified within the intermediate code. To execute this intermediate code, state-of-the-art implementations of virtual machines...
متن کاملTowards Engineering Product Lines Using Concerns
Separation of concerns is accepted as introducing numerous benefits into software development and maintenance. In this position paper, we argue for a method that introduces separation of concerns into product line software engineering. The method covers the complete product line life cycle and integrates the different concerns expressed at the different product line life cycle stages.
متن کاملAspect-Oriented Requirements Engineering for Advanced Separation of Concerns: A Review
Software engineering was introduced to cope with software crisis with two fundamental principles: separation of concerns and modularity. Many programming paradigms have been proposed and used while considering the fundamental principles from the early days. Complex software systems were successfully modularized but complete separation of concerns is still impossible to achieve using today’s mos...
متن کامل